<?php
/**
 * Game_Building_ItemCreator
 *
 * Класс Game_Building_ItemCreator отвечает за создание необходимого объекта зданий
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class Game_Building_ItemCreator {
	
	public $objBuilding;// объект здания из БД;
	
	/**
	 * Конструктор объекта (создание, инициализация, загрузка данных)
	 *
	 * @param Game_Building $objBuilding - объект здание (информация из БД)
	 */
	public function __construct(Game_Building $objBuilding) {
		$this->objBuilding = $objBuilding;
	}
	

	/**
	 * Инициализирует объект конкретного здания
	 * 
	 * @param Game_Building $objBuilding
	 * @return Game_Building_Item
	 */
	public static function initBuildingItem(Game_Building $objBuilding) {
		if ($objBuilding->id < 5) {
			return new Game_Building_Resource($objBuilding);
		}
		elseif ($objBuilding->id == 5) {
			return new Game_Building_Main($objBuilding);
		}
		elseif ($objBuilding->id == 6 || $objBuilding->id == 7) {
			return new Game_Building_Storage($objBuilding);
		}
			elseif ($objBuilding->id == 8) {
			return new Game_Building_Market($objBuilding);
		}
		elseif ($objBuilding->id == 10) {
			return new Game_Building_Academy($objBuilding);
		}
		elseif ($objBuilding->id == 11 || $objBuilding->id == 12 || $objBuilding->id == 13) {
			return new Game_Building_Military($objBuilding);
		}
		return new Game_Building_Item();
	}
	
}
?>